﻿using System;

namespace Lesson11_递归函数
{
    class Program
    {
        #region 基本概念
        //递归函数 就是 让函数自己调用自己
        //下面是一个错误的例子
        static void Fun()
        {
            Fun();
        }
        //错误的原因是调用函数无限循环 栈内存爆出
        //那么 正确的递归函数应该怎么申明呢
        //必须有判断停止调用函数的条件 且该条件必须能够成立
        #endregion

        #region 实例
        //申明一个递归函数打印0 ~ 10
        static void Print(int a)
        {
            if (a <= 10)
            {
                Console.WriteLine(a);
                ++a;
                Print(a);
            }
        }
        #endregion
        static void Main(string[] args)
        {
            //调用一下上面那个错误的函数
            //Fun();
            //会提示栈内存爆出
            Print(0);
        }
    }
}